package com.hsgene.discount.dto;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.hsgene.common.util.date.TimeJsonDeserializer;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @desc:优惠券
 * @author: fuxiang
 * @date: 2018/10/11 17:14
 */
public class GeneticDiscountDto {
    /**
     * 序号
     */
    private Integer number;
    /**
     * 优惠券id
     */
    private String id;
    /**
     *满足条件金额
     */
    private BigDecimal conditionPrice;
    /**
     * 优惠的金额
     */
    private BigDecimal discountPrice;
    /**
     * 开始时间
     */
    @JsonDeserialize(using = TimeJsonDeserializer.class)
    private Date beginDateTime;
    /**
     * 结束时间
     */
    @JsonDeserialize(using = TimeJsonDeserializer.class)
    private Date endDateTime;
    /**
     *0不对外开放1对外开放
     */
    private Integer status;
    /**
     * 类型(1满减类型)
     */
    private Integer type;
    /**
     * 类型描述
     */
    private String typeDesc;
    /**
     * 使用目标（1-全平台商品）
     */
    private Integer useTarget;
    /**
     * 使用目标（1-全平台商品）描述
     */
    private String useTargetDesc;

    /**
     * 可以获取积分
     */
    private Integer integral;

    @JsonDeserialize(using = TimeJsonDeserializer.class)
    private Date createDateTime;
    @JsonDeserialize(using = TimeJsonDeserializer.class)
    private Date updateDateTime;

    private String description;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id == null ? null : id.trim();
    }

    public BigDecimal getConditionPrice() {
        return conditionPrice;
    }

    public void setConditionPrice(BigDecimal conditionPrice) {
        this.conditionPrice = conditionPrice;
    }

    public BigDecimal getDiscountPrice() {
        return discountPrice;
    }

    public void setDiscountPrice(BigDecimal discountPrice) {
        this.discountPrice = discountPrice;
    }

    public Date getBeginDateTime() {
        return beginDateTime;
    }

    public void setBeginDateTime(Date beginDateTime) {
        this.beginDateTime = beginDateTime;
    }

    public Date getEndDateTime() {
        return endDateTime;
    }

    public void setEndDateTime(Date endDateTime) {
        this.endDateTime = endDateTime;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public Integer getUseTarget() {
        return useTarget;
    }

    public void setUseTarget(Integer useTarget) {
        this.useTarget = useTarget;
    }

    public Integer getIntegral() {
        return integral;
    }

    public void setIntegral(Integer integral) {
        this.integral = integral;
    }


    public Date getCreateDateTime() {
        return createDateTime;
    }

    public void setCreateDateTime(Date createDateTime) {
        this.createDateTime = createDateTime;
    }

    public Date getUpdateDateTime() {
        return updateDateTime;
    }

    public void setUpdateDateTime(Date updateDateTime) {
        this.updateDateTime = updateDateTime;
    }

    public Integer getNumber() {
        return number;
    }

    public void setNumber(Integer number) {
        this.number = number;
    }
    public String getTypeDesc() {
        return typeDesc;
    }

    public void setTypeDesc(String typeDesc) {
        this.typeDesc = typeDesc;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getUseTargetDesc() {
        return useTargetDesc;
    }

    public void setUseTargetDesc(String useTargetDesc) {
        this.useTargetDesc = useTargetDesc;
    }
}
